package org.robotfish.geometry;

import org.robotfish.learn.LinkData;

/**
 * Informatsioon kala kinematiika kohta. Ei muu simulatsiooni käigus.
 * Leitav LinkData baasil.
 * @author Mart
 */
public class JointData {
	
	/**
	 * Lüli teisendamata lõigu alguskordinaat (kaudselt lülide pikkused)
	 */
	public double xStart;
	
	/**
	 * Piirkonna raadius ümber murdekoha, mida venitatakse
	 */
	public double stretchRegion;
	
	/**
	 * Kui lüli jätkub peale liigendit. Default value = 0
	 */
	public double extension;
	
	
	public static JointData[] createJointData(LinkData linkData[]) {
		JointData jointData[] = new JointData[linkData.length-1]; 
		
		double xStart = 0, e,j;
		int i = 0;
		
		for (i=0;i<jointData.length;i++) {
			e = linkData[i].a+linkData[i].b;
			j = linkData[i+1].a+linkData[i+1].b;
			xStart += e;
			jointData[i].xStart = xStart;
			jointData[i].stretchRegion = Math.max(e, j)*0.5;
			jointData[i].extension = 0;
		}
		return jointData; 
	}
	
}
